利用 PROTEUS 软件调试串口通信最简单实用的方法 | 您所在的位置:网站首页 › proteus中virtual terminal在哪找 › 利用 PROTEUS 软件调试串口通信最简单实用的方法 |
前些日子,做而论道发表了“双机(51单片机)串行通信最基本的方法”博文。网址:http://hi.baidu.com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/b738c5d010b2ce349a5027ee.html后来,有些网友来电询问关于修改、调试方面的一些问题,为此,做而论道将就利用 PROTEUS 软件进行仿真调试的方法再作一简单的介绍。 进行串行通信,一般应该有两个计算机,两个程序,利用一条串行通信电缆,互相“全双工”的传送信息。互相通信的这两个程序,应该有一个是成熟的程序,而另一个可以是有待调整、修改的。 利用 PROTEUS 软件,问题就简单多了,不用去找两台计算机和成熟的程序。PROTEUS 软件中,含有多种虚拟仪器,有一个可以模拟完善的串行通信设备,可以和我们编写的、待调整的程序进行全双工的通信。这个设备就是:Virtual Terminal,中文应该叫做:虚拟终端。 其实,用两个 Virtual Terminal,连接上线路,它们就可以通信了。请看下图:
当理解了 Virtual Terminal 的一般应用之后,就可以把单片机,加入到通信系统中了。见下图:
上面的 Virtual Terminal,是向单片机输送数据的,当键入'A',单片机将会显示出来字符的 ASCII 码 41。注意,这是以 16 进制显示的。大家可以胡乱敲键,看看它们的 ASCII 码都是什么!在单片机一方,按下“发送”按键,将会把拨码开关输入的二进制数字,发送到下面的 Virtual Terminal 中,图中把 39 显示成了 9,能看出来是怎么回事吗? 图中的单片机,里面应该载入程序,其源代码如下:;---------------------------------------- ORG 0000H SJMP START ORG 0003H LJMP INT0_INT ORG 0023H LJMP UART_INT;----------------------------------------START: MOV SP, #60H MOV SCON,#50H ;方式1, 8-n-1 MOV TMOD,#20H MOV TH1, #0FDH ;波特率设置 MOV TL1, #0FDH ; SETB TR1 SETB IT0 ;P3.2下降沿触发中断 SETB EX0 SETB ES ;开放中断 SETB EA SJMP $;----------------------------------------INT0_INT: MOV P2, #0FFH MOV A, P2 ;读出的拨码开关信息 MOV SBUF, A ;向串口发送 RETI;----------------------------------------UART_INT: JB TI, _FA_ MOV A, SBUF ;读出串口收到的信息 MOV P0, A ;送到P0口进行显示 CLR RI RETI;--------------------_FA_: CLR TI RETI;---------------------------------------- END;----------------------------------------呵呵,注意到了吗?这程序是和前述博文的程序是完全相同的。 |
CopyRight 2018-2019 实验室设备网 版权所有 |